/*
 * Main.c
 *
 *  Created on: 17/09/2011
 *      Author: Cristian
 */

#include "../includes/praid.h"


int main()
{
	/****************Leo archivo de configuracion****************/
	struct config valor_config;
	LeerArchivoDeConfiguracion (&valor_config);


	/************-Creo pool de conexiones*******************/

	struct arrConexiones arrC;

	InicializarArrayDeConexiones(valor_config.v_pool, &arrC, valor_config);
	uint8_t cantidadDeDiscos = 0;

	printf("cantidadDeDiscos = %d\n", cantidadDeDiscos);

	/************-Creo Thread de escucha de nuevos procesos*******************/
	param_escucha p;
	p.nuevo_p = NULL;
	p.cfg = valor_config;
	p.arrayC = arrC;


	pthread_t t_pfs;
	pthread_create(&t_pfs, NULL, ListenNewProcesses, &p);

	/************-Creo Thread para analizar a los nuevos clientes*******************/

	struct NodoDisco *discos;
	discos = NULL;

	param parametros;
	parametros.numDiscos = &cantidadDeDiscos;
	parametros.arrayC = &arrC;
	parametros.lstD = discos;
	parametros.conexiones = valor_config.v_pool;
	parametros.newProcess = p.nuevo_p;

	pthread_t t_new_cli;
	pthread_create(&t_new_cli, NULL, AnalizarNuevosClientes, &parametros);

	pthread_t t_new_ped;
	pthread_create(&t_new_ped, NULL, EncolarPedidos, &parametros);

	pthread_t t_pedidos;
	pthread_create(&t_pedidos, NULL, AtenderPedidos, &parametros);

	pthread_join(t_pfs, NULL);

return (EXIT_SUCCESS);

}

/**********Creo Thread para atender a los pedidos*************/




